package com.modules.model;

import org.hibernate.validator.constraints.Length;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by lewis on 2017/7/15.
 */
@MappedSuperclass
public abstract class SimpleModelExt extends SimpleModel implements Serializable {

    private static final long serialVersionUID = -7106031114539506822L;

    /* 四个字符型扩展字段 */
    @Length(max = 256)
    @Column(name = "EXT01_", unique = false, nullable = true, insertable = true, updatable = true, length = 256)
    private String ext01;

    @Length(max = 256)
    @Column(name = "EXT02_", unique = false, nullable = true, insertable = true, updatable = true, length = 256)
    private String ext02;

    @Length(max = 256)
    @Column(name = "EXT03_", unique = false, nullable = true, insertable = true, updatable = true, length = 256)
    private String ext03;

    @Length(max = 256)
    @Column(name = "EXT04_", unique = false, nullable = true, insertable = true, updatable = true, length = 256)
    private String ext04;

    /* 三个金额扩展字段 */
    @Column(name = "EXT05_", unique = false, nullable = true, insertable = true, updatable = true, precision = 20, scale = 4)
    private BigDecimal ext05;

    @Column(name = "EXT06_", unique = false, nullable = true, insertable = true, updatable = true, precision = 20, scale = 4)
    private BigDecimal ext06;

    @Column(name = "EXT07_", unique = false, nullable = true, insertable = true, updatable = true, precision = 20, scale = 4)
    private BigDecimal ext07;

    /* 一个整型扩展字段 */
    @Column(name = "EXT08_", unique = false, nullable = true, insertable = true, updatable = true)
    private Integer ext08;

    /* 两个日期型扩展字段 */
    @Column(name = "EXT09_", unique = false, nullable = true, insertable = true, updatable = true)
    @Temporal(TemporalType.DATE)
    private Date ext09;

    @Column(name = "EXT10_", unique = false, nullable = true, insertable = true, updatable = true)
    @Temporal(TemporalType.DATE)
    private Date ext10;

    public String getExt01() {
        return ext01;
    }

    public void setExt01(String ext01) {
        this.ext01 = ext01;
    }

    public String getExt02() {
        return ext02;
    }

    public void setExt02(String ext02) {
        this.ext02 = ext02;
    }

    public String getExt03() {
        return ext03;
    }

    public void setExt03(String ext03) {
        this.ext03 = ext03;
    }

    public String getExt04() {
        return ext04;
    }

    public void setExt04(String ext04) {
        this.ext04 = ext04;
    }

    public BigDecimal getExt05() {
        return ext05;
    }

    public void setExt05(BigDecimal ext05) {
        this.ext05 = ext05;
    }

    public BigDecimal getExt06() {
        return ext06;
    }

    public void setExt06(BigDecimal ext06) {
        this.ext06 = ext06;
    }

    public BigDecimal getExt07() {
        return ext07;
    }

    public void setExt07(BigDecimal ext07) {
        this.ext07 = ext07;
    }

    public Integer getExt08() {
        return ext08;
    }

    public void setExt08(Integer ext08) {
        this.ext08 = ext08;
    }

    public Date getExt09() {
        return ext09;
    }

    public void setExt09(Date ext09) {
        this.ext09 = ext09;
    }

    public Date getExt10() {
        return ext10;
    }

    public void setExt10(Date ext10) {
        this.ext10 = ext10;
    }

}

